import request from '@/config/axios'

// CRM 化学品使用信息 VO
export interface ChemicalsVO {
  id: number // 编号
  customerId: number // 客户id
  customerName?: string // 客户id
  createTime: Date // 创建时间
  updateTime: Date // 更新时间
  creator: string // 创建人
  creatorName?: string // 创建人名称
  updater: string // 修改人
  updaterName?: string // 修改人名称
  auditStatus: number // 审核状态
  processInstanceId?: string // 审核流程实例编号
}

// CRM 化学品使用信息 API
export const ChemicalsApi = {
  // 查询CRM 化学品使用信息分页
  getChemicalsPage: async (params: any) => {
    return await request.get({ url: `/crm/chemicals/page`, params })
  },

  // 查询CRM 化学品使用信息详情
  getChemicals: async (id: number) => {
    return await request.get({ url: `/crm/chemicals/get?id=` + id })
  },

  // 化学品使用信息审核
  submit: async (ids: number[],isReCreate: boolean) => {
    return await request.put({ url: `/crm/chemicals/submit`,params: { ids: ids.join(',') ,isReCreate: isReCreate }} )
  },
  
  // 根据客户查询CRM 化学品使用信息详情
  getChemicalsByCustomerId: async (customerId: number) => {
    return await request.get({ url: `/crm/chemicals/getByCustomerId?customerId=` + customerId })
  },

  // 新增CRM 化学品使用信息
  createChemicals: async (data: ChemicalsVO) => {
    return await request.post({ url: `/crm/chemicals/create`, data })
  },

  // 修改CRM 化学品使用信息
  updateChemicals: async (data: ChemicalsVO) => {
    return await request.put({ url: `/crm/chemicals/update`, data })
  },

  // 删除CRM 化学品使用信息
  deleteChemicals: async (id: number) => {
    return await request.delete({ url: `/crm/chemicals/delete?id=` + id })
  },

  // 导出CRM 化学品使用信息 Excel
  exportChemicals: async (params) => {
    return await request.download({ url: `/crm/chemicals/export-excel`, params })
  },
  // 下载CRM 化学品使用信息导入模版
  importChemicalsTemplate: async () => {
    return await request.download({ url: `/crm/chemicals/get-import-template` })
  },

// ==================== 子表（CRM 化学品使用信息-登记） ====================

  // 获得CRM 化学品使用信息-登记列表
  getChemicalsRegisterListByChemicalsId: async (chemicalsId) => {
    return await request.get({ url: `/crm/chemicals/chemicals-register/list-by-chemicals-id?chemicalsId=` + chemicalsId })
  },
}
